Computer automated control systems often send control messages across a network to actuate controlled apparatuses in those networks. Moreover, frequently a large number of scheduled event messages are retrieved from a data storage device and transmitted across such a network in a short period of time. For example, if lights are to be energized or de-energized at a scheduled time, scheduled event messages may be read for each lighting fixture or bank of fixtures that are controlled together. In addition, an operational control message may be sent across the network to each lighting fixture or bank of fixtures that are controlled together to actuate the lights scheduled to be energized or de-energized. In a large building where many areas, such as lobbies and common areas, are to be lit at one particular time, many scheduled event messages may be read and many control messages may be sent across the network at a time or during a short period of time.
When a large, mesh-networked system is managed and controlled by, for example, a resource-limited, single flow embedded processing system, inefficiencies can arise that impact overall system performance and user experience. One inefficiency that can occur in such a system is when the processor is required to traverse a large table or list of scheduled system events located in an external data storage device to determine whether the scheduled events are to be performed or have become active. When the processor accesses the data storage device to read events, the processor may be occupied performing this task for a relatively long time during which time the processor cannot perform other actions. Such processor delays may create delays in other activities to be performed by the processor, including responding to user requests, such as user switch operation, such that actuation of the desired end device by the system is delayed or not acted upon by the system. Processor delays may also cause delay in other system operations.
Another inefficiency in such a system occurs when a large number of messages are being sent over the network. When too many messages are sent across the network, the network may become congested and operate inefficiently, message delivery may be delayed, network queues may overflow, thereby losing messages, messages may otherwise be lost and fail to be delivered by the network as required, and users may experience delays or failures in system operation.
Thus, there is a need for systems, apparatuses, and methods to prevent a processor from spending too much time traversing a data structure in a data storage device.
There is also a need for systems, apparatuses, and methods that provide a delay for a processor that has recently searched a data storage device for scheduled events before that processor searches for additional scheduled events in that data storage device.
There is also a need for systems, apparatuses, and methods to prevent a number of messages that may overwhelm a network from being sent across the network at a time or in a short period of time.
There is also a need for systems, apparatuses, and methods that provide a delay in sending messages across a network when many messages have recently been sent across that network.
Embodiments of network traffic management apparatuses, systems and methods prevent a processor from being overly occupied with searching a data storage device for scheduled events.
Embodiments of network traffic management apparatuses, systems, and methods delay the processors next access of a data storage device after that processor has been occupied accessing that data storage device.
Embodiments of network traffic management apparatuses, systems and methods prevent a network from being overwhelmed by limiting the number of messages to be sent across a network at or near the same time.
Embodiments of network traffic management apparatuses, systems, and methods delay sending messages across a network after many messages have been sent across that network.
Embodiments of network traffic management apparatuses, systems and methods distribute the transmission of messages to be sent at a particular time to prevent loss of transmitted messages or other problems that can occur when many messages are sent at or near the same time.